from django.core.management.base import BaseCommand
from apps.cards.models import Card


class Command(BaseCommand):
    help = '初始化基础卡牌数据'

    def handle(self, *args, **options):
        cards_data = [
            # 普通卡牌
            {'name': '火球术', 'description': '发射一个火球攻击敌人', 'attack_power': 3, 'cost': 10, 'rarity': 'common'},
            {'name': '冰箭术', 'description': '发射一支冰箭攻击敌人', 'attack_power': 2, 'cost': 8, 'rarity': 'common'},
            {'name': '闪电术', 'description': '召唤闪电攻击敌人', 'attack_power': 4, 'cost': 12, 'rarity': 'common'},
            {'name': '治疗术', 'description': '恢复生命值', 'attack_power': 1, 'cost': 5, 'rarity': 'common'},
            {'name': '护盾术', 'description': '提供防护', 'attack_power': 2, 'cost': 6, 'rarity': 'common'},
            
            # 稀有卡牌
            {'name': '火凤凰', 'description': '召唤火凤凰攻击敌人', 'attack_power': 6, 'cost': 25, 'rarity': 'rare'},
            {'name': '冰龙', 'description': '召唤冰龙攻击敌人', 'attack_power': 7, 'cost': 30, 'rarity': 'rare'},
            {'name': '雷神之锤', 'description': '雷神之锤的威力', 'attack_power': 8, 'cost': 35, 'rarity': 'rare'},
            {'name': '圣光术', 'description': '神圣的治疗法术', 'attack_power': 3, 'cost': 15, 'rarity': 'rare'},
            {'name': '暗影箭', 'description': '暗影力量的攻击', 'attack_power': 5, 'cost': 20, 'rarity': 'rare'},
            
            # 史诗卡牌
            {'name': '末日审判', 'description': '毁灭性的攻击法术', 'attack_power': 10, 'cost': 50, 'rarity': 'epic'},
            {'name': '时间停止', 'description': '停止时间的力量', 'attack_power': 9, 'cost': 45, 'rarity': 'epic'},
            {'name': '空间撕裂', 'description': '撕裂空间的力量', 'attack_power': 11, 'cost': 55, 'rarity': 'epic'},
            {'name': '生命之树', 'description': '生命的力量', 'attack_power': 4, 'cost': 25, 'rarity': 'epic'},
            {'name': '死亡之握', 'description': '死亡的力量', 'attack_power': 12, 'cost': 60, 'rarity': 'epic'},
            
            # 传说卡牌
            {'name': '创世神', 'description': '创造世界的神明', 'attack_power': 15, 'cost': 100, 'rarity': 'legendary'},
            {'name': '毁灭之神', 'description': '毁灭一切的神明', 'attack_power': 16, 'cost': 110, 'rarity': 'legendary'},
            {'name': '时间之神', 'description': '掌控时间的神明', 'attack_power': 14, 'cost': 95, 'rarity': 'legendary'},
            {'name': '空间之神', 'description': '掌控空间的神明', 'attack_power': 17, 'cost': 120, 'rarity': 'legendary'},
            {'name': '命运之神', 'description': '掌控命运的神明', 'attack_power': 18, 'cost': 130, 'rarity': 'legendary'},
        ]
        
        created_count = 0
        for card_data in cards_data:
            card, created = Card.objects.get_or_create(
                name=card_data['name'],
                defaults=card_data
            )
            if created:
                created_count += 1
                self.stdout.write(
                    self.style.SUCCESS(f'创建卡牌: {card.name}')
                )
            else:
                self.stdout.write(
                    self.style.WARNING(f'卡牌已存在: {card.name}')
                )
        
        self.stdout.write(
            self.style.SUCCESS(f'成功创建 {created_count} 张新卡牌')
        )
